package com.lcx.movie.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lcx.movie.entity.Hall;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/** 
 * @Description  放映厅接口层
 * @version 1.0 
 * @author lcx
 * @date 2025/2/9 11:25
 */
@Mapper
public interface HallMapper extends BaseMapper<Hall> {
    /**
     * 根据影院id查询所有影厅
     * @param cinemaId 影院id
     * @return 影厅集合
     */
    public List<Hall> selectHallByCinemaId(@Param("cinemaId") int cinemaId);

    /**
     * 新增放映厅
     * @param hall 放映厅对象
     * @return 受影响的行数
     */
    public int addHall(Hall hall);

    /**
     * 检查在数据库里是否有重复的放映厅名字
     * @param hallName 放映厅名称
     * @param cinemaId 影院id
     * @return 受影响的行数
     */
    public int checkHallNameInDatabase(@Param("hallName") String hallName, @Param("cinemaId") int cinemaId);

    /**
     * 根据放映厅id删除放映厅
     * @param hallId 放映厅id
     * @return 受影响的行数
     */
    public int deleteHall(@Param("hallId") int hallId);

    /**
     * 修改放映厅信息
     * @param hall 放映厅实体
     * @return 受影响的行数
     */
    public int updateHall(Hall hall);

    /**
     * 根据放映厅id查询放映厅
     * @param hallId 放映厅id
     * @return 放映厅实体
     */
    Hall findHallById(Long hallId);

}